热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据业务|指示_VoLTE端到端业务详解|VoLTE用户注册流程

篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽

篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解 | VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。


书籍来源:艾怀丽《VoLTE端到端业务详解》

一边学习一边整理书中的笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:VoLTE端到端业务详解 | 汇总_COCOgsta的博客-CSDN博客



注册是用户向签约网络请求授权使用业务的过程,在VoLTE解决方案中,LTE用户根据实际的信号强度覆盖,可以由UE选择附着到CS网络或LTE网络进行注册。对于CS网络注册,注册过程与传统CS网络用户注册过程相同。对于LTE网络注册,UE首先附着到EPC网络,再在IMS网络注册。用户注册后,可以享受归属网络提供的服务,包括对用户当前地址和用户身份进行绑定;用户可以正常使用各种签约业务。

PDN(Packet Data Network)是UE要接入的目的网络,对于LTE网络,就是UE要接入到Internet,还是IMS。

APN(Acess Point Name)接入点名用来标识UE接入一个指定的外部网络或一种类型的服务,即在UE/PGW里定义用于标识目的PDN。对于LTE网络,就是UE要接入到哪个PGW,通过这个PGW的SGi接口可以接入到Internet还是IMS。

PDN连接是UE和一个特定PDN之间的IP连接,比如IMS APN指的就是UE接入IMS,CxNET APN指的就是UE接入Internet,实际上就是PGW网元面向用户使用不同APN时建立通往不同目的网络的一个通道,对于VoLTE业务来说,当用户使用VoLTE业务的时候,PGW会将用户的SIP信令消息和RTP媒体流送往IMS网络处理。


5.2.1 EPC附着

图5-22所示为VoLTE用户EPC附着流程。

总的来说,EPC附着分为9个过程。

流程1:终端发起Attach Request请求,并告诉网络支持VoLTE语音业务;

流程2:MME收到终端的附着请求,有可能向HSS要用户的鉴权数据并向用户发起鉴权请求,待用户鉴权通过后,向HSS请求用户的业务签约数据;

流程3:获取用户的签约数据,包含APN、MSISDN等信息;

流程4:MME向PGW申请建立数据业务的默认承载(基于用户签约默认APN为数据业务APN的特性),MME根据APN配置和网络拓扑选择SGW和PGW,向SGW发起Create Session Request请求消息,消息中携带数据业务APN及QCI信息;

流程5:在数据业务开启PCC的情况下,PGW触发数据业务默认承载的PCC流程,PGW通过CCR请求向PCRF发起PCC流程;PCRF通过CCA向PCRF下放PCC规则和QoS信息;

流程6:PGW向MME返回会话建立响应消息,SGW向MME返回Create Session Response信息,消息中包括UE IP地址和DNS地址;

流程7:MME向UE返回附着接受消息,包括PGW为UE分配的IP地址和DNS地址;

以上7步的具体信令流程图如图5-23所示。

流程8:终端发起VoLTE语音业务的PDN连接建立请求;

流程9:网络侧为用户建立VoLTE语音业务的默认承载。

第8、9步的具体信令流程如图5-24所示。

其中,第2步中的MME向HSS要用户鉴权数据和业务数据的详细过程如下。

MME收到请求后向HSS发起Update Location请求信息;MME收到UE的Attach Request后先检查本地是否有该用户的鉴权集,如果没有,MME则向HSS发送AIR消息请求鉴权数据,消息中携带用户的IMSI,HSS向MME返回AIA消息,消息中携带用户的四元组鉴权向量,包括XRES、RAND、AUTN、KASME,EPC网络针对终端的USIM卡完成鉴权流程后,MME向SAE-HSS发送Update Location Request消息,获取用户信息。

Update Location Request消息中携带了两个关键信元,包含UE SRVCC Capability(指示UE是否支持SRVCC能力)、Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions(指示所在RA/TA是否支持IMS Voice PS Sessions)。

HSS向MME回复Update Location ACK信息,包括STN-SR、C-MSISDN、默认APN(比如XXnet APN)、一个或多个PDN签约上下文[比如,IMS APN及QoS(QCI=5,ARP=9)]。

此时返回的STN-SR是HSS给这个用户签约的一个号码,用户实际注册的ATCF网元的STN-SR会在IMS域注册时通过Register消息上报给SCCAS网元,SCCAS会通过HSS重新插入到MME中去。

其中第8、9步的详细过程说明如图5-25所示。

流程1:在Attach和TAU过程中,MME向VoLTE终端发送的Attach Accept、TAU Accept消息中包含“IMS Voice over PS Sessions=1(support)”;VoLTE终端主动向MME发起IMS APN承载建立请求。

流程2:MME向分组域融合DNS发起APN解析请求,根据DNS的解析结果,优选同一SAE-GW中的SGW和PGW;随后MME向SAE-GW发起Create Session Request请求消息,消息中携带IMS APN及QCI信息。

流程3:PGW与PCRF之间进行PCC信息(该UE的相关策略信息)交互(CCR/CCA)。

流程4:EPS(无线LTE+EPC核心网)网络为VoLTE用户建立IMS APN默认承载,PGW经SGW、MME、eNB返回的信息中包含PGW为用户分配的IPv6地址、PGW中预先配置的VoLTE SBC的IP地址列表。

备注:

我们是假定VoLTE用户签约默认APN是数据业务,假如VoLTE用户签约默认APN是IMS APN呢,那EPC注册过程会有哪些不同呢?

我们主要关注的是VoLTE用户通过EPC注册后获取到网络分配的IP地址以及P-CSCF地址是什么,那我们就要查看Attach Accept消息,现网一般都是给用户签约数据业务APN为默认APN,所以现网是通过查看E-RAB Setup Request消息,这些细节不影响对于VoLTE业务整体流程的理解,但在日常故障或用户投诉处理过程中则需要咱们了解这些细节。


5.2.2 IMS注册

VoLTE用户进行IMS注册时由拜访地P-CSCF(SBC/ATCF)、I-CSCF向归属网络发起注册,使用USIM卡的VoLTE用户注册时,如果通过USIM卡导出的注册IMPU(比如SIP:IMSI@ims.mnc.mcc460.3gppnetwork.org)无省份信息,则只能通过拜访地I-CSCF由DRA向归属HSS进行查询。具体注册流程如图5-26所示。

流程1:终端根据附着流程获得的P-CSCF地址,通过EPC网络向P-CSCF发起注册。

流程2:P-CSCF具备ATCF功能,在注册消息中插入STN-SR;P-CSCF根据导出的注册IMPU域名向DNS发起查询,查询结果为P-CSCF拜访本省的I-CSCF地址,并将注册消息发送给I-CSCF。

流程3:I-CSCF通过Cx接口向HSS查询服务S-CSCF信息。

流程4:HSS向I-CSCF下发能力集。

流程5:I-CSCF根据本地配置并通过查询DNS将注册消息发送给用户归属S-CSCF。

流程6:S-CSCF通过Cx接口向HSS下载用户鉴权向量和签约数据,并对用户进行鉴权。

流程7:鉴权完成后,S-CSCF向SCCAS发起第三方注册流程。

流程8:SCCAS通过Sh接口向HSS下载用户签约信息与透明数据,其中包括终端SRVCC能力和STN-SR值,SCCAS通过Message消息向ATCF通知AUT-STI值和C-MSISDN值,如果SCCAS发现注册消息中的值与HSS中STN-SR值不同,那么将通过Sh接口向HSS更新该值。

流程9:HSS通过S6a接口将更新的STN-SR值通知MME,MME更新STN-SR值。

备注:

a.STN-SR、AUT-STI值和C-MSISDN这三个参数在SRVCC业务过程中是怎么影响接续的,在SRVCC专题中会具体描述。

b.终端发起注册(初始注册、重注册)请求时,如收到网络侧发送的错误响应(如408、500、504),终端应立即重新发起注册消息;当多次注册不成功后,终端应具备一定的智能性,不应频繁地自动向网络发起注册消息。


5.2.3 第三方注册

IMS域注册完成后,S-CSCF根据VoLTE用户签约的iFC(Shared iFC),向相应的IMS AS发起第三方注册。

第三方注册流程如图5-27所示。

S-CSCF从VoLTE用户归属三融合HSS/HLR获得用户IMS签约数据,其中包括用户签约的Shared iFC,并将Shared iFC映射为标准iFC,根据iFC优先级和对应AS主机名按顺序将用户注册到IMS AS,一般来说,VoLTE用户会签约三个AS,包含SCCAS(域选和SRVCC两个功能)、VoLTE MMTEL AS(VoLTE业务基本功能)、IP-SM-GW(短信网关功能)。具体注册顺序为:首先注册SCCAS、然后注册VoLTE MMTEL AS、最后注册IP-SM-GW;现网一般是SCCAS与VoLTE MMTEL AS综合设置为VoLTE AS,可一次完成SCCAS和VoLTE AS的注册。

(1)SCCAS注册

① S-CSCF根据用户iFC签约中的SCCAS POOL主机名向IMS DNS发起查询,并根据IMS DNS返回的解析结果选择SCCAS,向SCCAS发起第三方注册请求。

② SCCAS通过Sh接口从用户归属三融合HSS/HLR下载用户签约信息和透明数据,其中包括终端SRVCC能力和STN-SR值,若SCCAS发现注册消息中的STN-SR值与三融合HSS/HLR下载的值不同,则通过Sh接口更新三融合HSS/HLR中的STN-SR值。

③ SCCAS向S-CSCF返回SCCAS第三方注册成功消息。

④ 三融合HSS/HLR通过S6a接口更新VoLTE用户拜访MME中的STN-SR值。

⑤ SCCAS通过消息告知VoLTE SBC/ATCF用户的AUT-STI和C-MSISDN。

(2)VoLTE TAS注册

① S-CSCF根据用户iFC签约中的VoLTE TAS POOL主机名向IMS DNS发起查询,并根据IMS DNS返回的解析结果选择VoLTE TAS,向VoLTE TAS发起第三方注册请求。

② VoLTE TAS通过Sh接口从用户归属三融合HSS/HLR下载用户透明数据。

③ VoLTE TAS向S-CSCF返回VoLTE TAS第三方注册成功消息。

(3)IP_SM_GW第三方注册

① S-CSCF根据用户iFC签约中的IP_SM_GW通用主机名向IMS DNS发起查询,IMS DNS向一级IMS DNS发起查询,S-CSCF根据IMS DNS返回的解析结果选择IP_SM_GW,向IP_SM_GW发起第三方注册请求。

② IP_SM_GW通过Sh接口更新用户归属三融合HSS/HLR中短信业务路由信息,将三融合HSS/HLR中短信业务地址修改为IP_SM_GW网元地址。

③ IP_SM_GW向S-CSCF返回IP_SM_GW第三方注册成功消息。

5.2.4 IP Sec流程

IMS网络的VoLTE业务的核心控制平台,具有基于会话初始协议(SIP)的全IP架构,IP协议固有的缺陷和安全漏洞使IMS很容易遭受攻击,IMS要求所有用户在使用IMS服务之前都必须进行鉴权(认证和授权),协商建立安全的接入通道,即IMS使用因特网协议安全(IPSec)为IMS系统提供安全保护。

终端发起注册(初始注册、重注册)请求时,当收到网络侧发送的错误响应(如408、500、504),终端会立即重新发起注册消息,在移动通信网络的VoLTE业务中一般都采用AKA的鉴权方式,终端需要立即将IP Sec SA清除,重新构建无保护的初始注册消息,未经IP Sec SA保护通道发送的所有注册消息,均需要重新鉴权,S-CSCF重新发起挑战。S-CSCF通过Integrity-Protected参数判定消息是否经过IP Sec SA通道保护。

下面详细描述VoLTE用户注册时的IP Sec相关过程。

5.2.4.1 参数协商过程

3GPP协议33.203关于SA建立的参数协商描述如图5-28所示。

(1)SM1消息携带终端侧的SPI信息、端口信息以及加密和完整性保护的算法

SM1:

举例如下:

(2)SM6消息携带P-CSCF侧的SPI信息,端口信息以及加密和完整性保护的算法

SM6:

举例如下:

(3)SM7消息携带终端和P-CSCF侧的SPI信息,端口信息以及加密和完整性保护的算法

SM7:

举例如下:

(4)SM8消息携带完整性保护指示给S-CSCF

SM8:

5.2.4.2 SA通道建立过程

SA通道建立过程描述如图5-29所示。

(1)初始注册消息

始发端口是终端侧SIP的知名端口:5060。

目的端口是P-CSCF侧SIP的知名端口:5060。

初始注册消息是未受保护的消息。

(2)终端收到401消息后,上发注册消息

始发端口使用终端分配的Port-UC。

目的端口是P-CSCF分配的Port-PS。

这个注册消息是在受保护的通道中传递,对应的200 OK消息(SM12)也是在这个SA中传递

(3)用户作为被叫,P-CSCF发送Invite消息给终端。

始发端口使用P-CSCF分配的Port-PC。

目的端口使用终端分配的Port-US。

后续的180和200 OK消息也是使用这个SA通道。

5.2.4.3 应用示例

1.典型事例

图5-30所示为常见的注册流程,SA通道各个端口信息详细描述如下。

(1)终端侧端口信息

Port-UC=49215;

Port-US=49216。

(2)P-CSCF侧端口信息

Port-PC=9950;

Port-PS=9900。

(3)首次注册消息使用SIP知名端口:5060

终端收到401消息后,使用的源端口是Port-UC=49215,目标端口是Port-PS=9900。

注册完成的200 OK消息,使用的源端口是Port-PS=9900,目标端口是Port-UC=49215。

终端发起订阅消息,使用的源端口是Port-UC=49215,目标端口是Port-PS=9900。

核心网反馈的订阅消息,使用的源端口是Port-PC=9950;目标端口是Port-US=49216。

核心网发送订阅的鉴权消息,使用的源端口是Port-PC=9950;目标端口是Port-US=49216。

终端反馈的订阅鉴权消息的200 OK响应,使用的源端口是Port-UC=49215,目标端口是Port-PS=9900。

2.SA创建过程

如图5-31所示,SA创建过程详细描述如下。

① 初始注册Register消息长度超过1300字节,需要通过TCP链路传递消息,首先进行TCP的三次握手建立TCP链路。

按照协议,只有初始注册消息和首个401消息才能在未受保护的通道中传送,终端收到401消息以后,后续的消息需要通过受保护的SA通道发送,因此拆除掉原来的未受保护的TCP链路。

② 由于401后面的注册消息长度仍然大于1300字节,因此还需要创建TCP链路,这次使用的端口是前面协商的端口,终端侧使用Port-UC,P-CSCF侧使用Port-US。

这个通道是SA安全通道,对于注册事务的后续消息,都是通过TCP通道来传递的。

终端侧收到注册的200 OK消息后,将TCP链路拆除。根据协议描述,通道是拆除还是保留由SIP应用层自行决定。

3.订阅过程SA通道使用

如图5-32所示,订阅过程SA通道使用过程详细描述如下。

① 终端上报订阅消息,消息长度小于1300字节,使用UDP协议传送,不需要创建链路的过程。

直接使用SA安全通道,源端口使用Port-UC,目的端口使用Port-PS。

对于订阅的200 OK消息,因为其长度小于1300字节,因此继续使用UDP传送。由于UDP没有链路的概念,因此不会订阅原来上发的通道,而是使用另外一个SA通道,本地端口是Port-PC,目标端口是Port-US。

② 对于订阅通知鉴权消息,因为长度也是小于1300字节,因此同上面的订阅消息一样,都是使用UDP,上行消息和下行消息使用两个不同的SA通道。

4.呼叫过程中SA通道使用

如图5-33所示,呼叫过程SA通道使用过程详细描述如下。

① 终端作为被叫的流程。P-CSCF对于发给终端的第一个Invite消息,当前都是使用UDP传输。

按照规范,当Invite消息长度超过1300字节时,应该使用TCP协议传输。

终端返回的183消息也是使用UDP消息,尽管长度也超过了1300字节。

② 对于Prack消息,当前P-CSCF是根据用户注册时使用的传输协议类型来决定的,由于注册时是使用TCP,因此这里的Prack使用TCP来传输,由于之前没有建立这个方向的TCP链路,因此这里需要有TCP建链过程。

对于P-CSCF建立的TCP链路,不会立刻删除,在对应的事务结束以后,保持3分钟才拆除链路,以RST消息拆除。

5.重注册鉴权导致SA更换过程

如图5-34所示,重注册鉴权中SA更换过程详细描述如下。

① 重注册消息可以通过受保护的SA通道发来,也可以通过未被保护的知名端口发来,如果从知名端口发来,那么原来的SA通道不再使用,流程如初始注册过程。

② SA更换的过程中,Port-s端口不更换,只更换Port-c。对于终端来说,初始有两个旧的SA通道:进(Inbound)和出(Outbound)。

③ 如果注册消息从受保护的SA通道发来,那么401也需要从SA通道下发给终端。在收到401消息后,根据401中的P-CSCF分配的新的Port-PC,以及终端自己分配的Port-UC,创建两个新的SA通道。

④ 401后的注册消息,从新的SA通道发送出去,在收到对应的200 OK消息后,这个鉴权流程完成。这时并存有4个SA通道(两个旧的SA和两个新的SA)。

⑤新的通道的生命周期取两个值的最大值:旧的SA通道的剩余生命周期时长;注册200 OK消息里面携带的失效时长。

6.旧SA通道删除流程(UE)

如图5-35所示,UE发起的SA通道删除过程详细描述如下。

UE始发的消息需要从新的SA发送,除非这个消息属于一个悬置的SIP事务,且该SIP事务前期消息由旧的SA来发送。如果旧的SA还在被使用,则称为“一个悬置的SIP事务”。在UE收到P-CSCF新的SA通道传来的消息时,旧的SA通道在SIP消息传递完毕或旧的SA通道生命周期结束的条件下可以将旧的SA通道删除。而且,在旧的SA通道生命周期结束后,SA通道可无条件删除。

7.旧SA通道删除流程(P-CSCF)

如图5-36所示,P-CSCF发起的SA通道删除过程详细描述如下。

① 当在旧SA上收到UE的新的SA通道(Inbound)传来消息或还有很短的生命周期时,P-CSCF需开始使用新的SA来发送消息。只有一种情况是例外的,即一个SIP消息属于一个悬置的SIP事务则需在旧SA上传送。旧SA通道在SIP消息传送完毕或生命周期结束时可以删除,通常是在旧SA通道生命周期结束后会删除。

② 这一段旧的SA通道删除的时机,协议描述得不是很清楚,从当前实现的情况来看,终端和P-CSCF理解的是在生命周期结束的点才删除旧的SA。

当前的生命周期取注册的200 OK里面的失效时长为3600s。




推荐阅读
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文介绍了实时流协议(RTSP)的基本概念、组成部分及其与RTCP的交互过程,详细解析了客户端请求格式、服务器响应格式、常用方法分类及协议流程,并提供了SDP格式的深入解析。 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文详细介绍如何使用Netzob工具逆向未知通信协议,涵盖从基本安装到高级模糊测试的全过程。通过实例演示,帮助读者掌握Netzob的核心功能。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
author-avatar
火俊逸香嘉孝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有